package com.dkts.oil.constant;

/**
 * 异常枚举
 *
 * @author Wulijun
 * @date 2021/10/18 9:26
 */
public enum ExceptionEnum {
    /**
     * 用户名错误或不存在
     */
    USERNAME_ERROR(10001, "用户名错误或不存在"),

    /**
     * 密码错误
     */
    PASSWORD_ERROR(10002, "密码错误"),

    /**
     * 用户名不能为空
     */
    USERNAME_EMPTY(10003, "用户名不能为空"),

    /**
     * 用户已存在
     */
    USERNAME_EXIST(10004, "用户已存在"),

    /**
     * 账号已被禁用
     */
    STATUS_ERROR(10006, "账号已禁用"),

    /**
     * 账号已被禁用
     */
    USER_STATUS_EXPIRED(10007, "用户有效期已过"),

    /**
     * 日期格式错误
     */
    DATE_FORMAT_INVALID(10100, "日期格式不正确！"),

    /**
     * token认证失败
     */
    AUTHENTICATION_ERROR(401, "token认证失败"),

    /**
     * 角色权限认证失败
     */
    ACCESSDENIED_ERROR(402, "角色权限认证失败"),

    /**
     * 未知错误
     */
    UNKNOWN_ERROR(9999, "程序错误,请联系管理员！"),
    /**
     * 业务数据异常
     */
    YW_ERROR(412, "程序错误,请联系管理员！"),

    /**
     * 同步用户信息出错
     */
    UMS_ERROR(510, "从统一用户同步信息出错！"),

    /**
     * 同步用户信息出错
     */
    DOWNLOADFILE_ERROR(520, "文件下载错误！"),
    UPLOADFILE_ERROR(521, "文件上传错误！"),

    /**
     * 业务数据异常
     */
    PERMISSION_ERROR(403, "无权访问资源！"),
    PARAM_ERROR(10200,"请求参数错误！" ),
    FILE_TYPE_ERROR(10201,"文件类型错误!" ),
    NOT_SUPPORTED_ERROR_CODE(10202,"请求类型错误！ "),
    PARAM_IS_NULL(10203, "缺少必要参数");

    /**
     * 结果码
     */
    private int code;

    /**
     * 结果码描述
     */
    private String msg;

    ExceptionEnum(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }

}
